import { createComponent } from "./create-component"

export const StackAnatomy = createComponent((props) => {
  const { palette, ...rest } = props
  return (
    <svg
      width={400}
      height={300}
      viewBox="0 0 400 300"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      {...rest}
    >
      <rect
        opacity={0.34}
        x={304.974}
        y={106.475}
        width={134.313}
        height={208.87}
        transform="rotate(90.0444 304.974 106.475)"
        fill={palette[3]}
      />
      <rect
        width={59.711}
        height={208.554}
        transform="matrix(-0.00153747 0.999999 -1 -0.000390123 304.784 106.082)"
        fill={palette[2]}
      />
      <rect
        width={63.8121}
        height={208.554}
        transform="matrix(-0.00153747 0.999999 -1 -0.000390123 304.676 176.298)"
        fill={palette[2]}
      />
      <rect x={162} y={57} width={77} height={32} rx={10} fill={palette[3]} />
      <path
        d="M184.661 72.0429L182.804 72.3718C182.726 72.1342 182.603 71.9081 182.434 71.6933C182.269 71.4786 182.045 71.3027 181.762 71.1656C181.479 71.0285 181.125 70.96 180.7 70.96C180.119 70.96 179.635 71.0902 179.247 71.3506C178.858 71.6065 178.664 71.9378 178.664 72.3444C178.664 72.6962 178.794 72.9795 179.055 73.1943C179.315 73.409 179.736 73.5849 180.316 73.722L181.988 74.1058C182.957 74.3297 183.679 74.6747 184.154 75.1407C184.629 75.6068 184.867 76.2122 184.867 76.957C184.867 77.5875 184.684 78.1495 184.318 78.643C183.957 79.1319 183.453 79.5157 182.804 79.7944C182.16 80.0731 181.412 80.2125 180.563 80.2125C179.384 80.2125 178.422 79.9612 177.677 79.4586C176.932 78.9514 176.476 78.2317 176.306 77.2996L178.287 76.9981C178.411 77.5144 178.664 77.9051 179.048 78.1701C179.432 78.4305 179.932 78.5607 180.549 78.5607C181.221 78.5607 181.757 78.4214 182.16 78.1426C182.562 77.8594 182.763 77.5144 182.763 77.1077C182.763 76.7788 182.639 76.5023 182.393 76.2784C182.15 76.0546 181.778 75.8855 181.275 75.7713L179.493 75.3806C178.511 75.1567 177.785 74.8003 177.314 74.3114C176.848 73.8225 176.615 73.2034 176.615 72.4541C176.615 71.8327 176.789 71.289 177.136 70.8229C177.483 70.3569 177.963 69.9936 178.575 69.7332C179.187 69.4682 179.889 69.3357 180.679 69.3357C181.817 69.3357 182.712 69.5824 183.366 70.0759C184.019 70.5647 184.451 71.2204 184.661 72.0429ZM192.034 69.4727V71.1176H186.284V69.4727H192.034ZM187.826 66.9506H189.875V76.909C189.875 77.3065 189.934 77.6058 190.053 77.8068C190.172 78.0033 190.325 78.1381 190.512 78.2112C190.704 78.2797 190.912 78.314 191.136 78.314C191.301 78.314 191.445 78.3026 191.568 78.2797C191.691 78.2569 191.787 78.2386 191.856 78.2249L192.226 79.9178C192.107 79.9634 191.938 80.0091 191.719 80.0548C191.499 80.1051 191.225 80.1325 190.896 80.1371C190.357 80.1462 189.855 80.0503 189.388 79.8492C188.922 79.6482 188.545 79.3375 188.258 78.9171C187.97 78.4968 187.826 77.969 187.826 77.3339V66.9506ZM197.364 80.233C196.697 80.233 196.094 80.1097 195.555 79.8629C195.016 79.6116 194.589 79.2484 194.273 78.7732C193.963 78.298 193.807 77.7154 193.807 77.0255C193.807 76.4315 193.922 75.9426 194.15 75.5588C194.379 75.175 194.687 74.8712 195.075 74.6473C195.464 74.4234 195.898 74.2543 196.378 74.1401C196.857 74.0259 197.346 73.9391 197.844 73.8797C198.475 73.8065 198.986 73.7471 199.379 73.7015C199.772 73.6512 200.058 73.5712 200.236 73.4616C200.414 73.3519 200.503 73.1737 200.503 72.927V72.879C200.503 72.2805 200.334 71.8167 199.996 71.4877C199.663 71.1587 199.165 70.9942 198.502 70.9942C197.812 70.9942 197.268 71.1473 196.871 71.4534C196.478 71.755 196.206 72.0908 196.055 72.4609L194.129 72.0223C194.358 71.3826 194.691 70.8663 195.13 70.4734C195.573 70.0759 196.083 69.788 196.659 69.6098C197.234 69.427 197.84 69.3357 198.475 69.3357C198.895 69.3357 199.341 69.3859 199.811 69.4864C200.286 69.5824 200.73 69.7606 201.141 70.021C201.557 70.2815 201.897 70.6538 202.162 71.1382C202.427 71.6179 202.56 72.2416 202.56 73.0092V80H200.558V78.5607H200.476C200.344 78.8257 200.145 79.0862 199.88 79.342C199.615 79.5979 199.274 79.8104 198.859 79.9794C198.443 80.1485 197.945 80.233 197.364 80.233ZM197.81 78.5881C198.376 78.5881 198.861 78.4762 199.263 78.2523C199.67 78.0284 199.978 77.736 200.188 77.375C200.403 77.0095 200.51 76.6188 200.51 76.2031V74.846C200.437 74.9191 200.296 74.9877 200.085 75.0516C199.88 75.111 199.644 75.1636 199.379 75.2093C199.114 75.2504 198.856 75.2892 198.605 75.3258C198.354 75.3578 198.143 75.3852 197.974 75.408C197.577 75.4583 197.214 75.5428 196.885 75.6616C196.56 75.7804 196.3 75.9518 196.103 76.1756C195.911 76.395 195.816 76.6874 195.816 77.0529C195.816 77.5601 196.003 77.9439 196.378 78.2043C196.752 78.4602 197.23 78.5881 197.81 78.5881ZM209.723 80.2125C208.704 80.2125 207.827 79.9817 207.092 79.5202C206.36 79.0542 205.798 78.4122 205.406 77.5944C205.013 76.7765 204.816 75.8398 204.816 74.7843C204.816 73.7152 205.017 72.7716 205.419 71.9538C205.821 71.1313 206.388 70.4894 207.119 70.0279C207.85 69.5664 208.711 69.3357 209.703 69.3357C210.502 69.3357 211.215 69.4842 211.841 69.7811C212.467 70.0736 212.972 70.4848 213.356 71.0148C213.744 71.5448 213.975 72.1639 214.048 72.8722H212.054C211.944 72.3787 211.693 71.9538 211.3 71.5974C210.911 71.241 210.39 71.0628 209.737 71.0628C209.166 71.0628 208.666 71.2136 208.236 71.5151C207.811 71.8121 207.48 72.2371 207.242 72.7899C207.005 73.3382 206.886 73.987 206.886 74.7364C206.886 75.504 207.002 76.1665 207.235 76.7239C207.468 77.2814 207.797 77.7132 208.222 78.0193C208.652 78.3254 209.157 78.4785 209.737 78.4785C210.125 78.4785 210.477 78.4077 210.793 78.266C211.112 78.1198 211.38 77.9119 211.594 77.6423C211.814 77.3728 211.967 77.0483 212.054 76.6691H214.048C213.975 77.3499 213.753 77.9576 213.383 78.4922C213.013 79.0268 212.517 79.4471 211.896 79.7533C211.279 80.0594 210.555 80.2125 209.723 80.2125ZM218.124 76.4292L218.111 73.9276H218.467L222.661 69.4727H225.115L220.331 74.5445H220.009L218.124 76.4292ZM216.24 80V65.9636H218.289V80H216.24ZM222.888 80L219.118 74.9968L220.53 73.5644L225.403 80H222.888Z"
        fill={palette[15]}
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M199.946 165.792L191.768 175.123L192.645 175.893L200.824 166.561L199.946 165.792ZM189.44 165.784L181.262 175.115L182.14 175.885L190.318 166.553L189.44 165.784ZM170.757 175.107L178.935 165.775L179.813 166.544L171.634 175.876L170.757 175.107ZM168.429 165.767L160.251 175.099L161.129 175.868L169.307 166.536L168.429 165.767ZM149.746 175.091L157.924 165.759L158.802 166.528L150.623 175.86L149.746 175.091ZM147.418 165.751L139.24 175.083L140.118 175.852L148.296 166.52L147.418 165.751ZM128.735 175.074L136.913 165.743L137.791 166.512L129.612 175.844L128.735 175.074ZM126.407 165.735L118.229 175.066L119.107 175.836L127.285 166.504L126.407 165.735ZM107.724 175.058L115.902 165.727L116.78 166.496L108.601 175.828L107.724 175.058ZM105.396 165.719L97.218 175.051L98.0959 175.82L106.274 166.488L105.396 165.719Z"
        fill={palette[3]}
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M303.76 165.792L295.582 175.124L296.46 175.893L304.638 166.561L303.76 165.792ZM293.255 165.784L285.077 175.116L285.954 175.885L294.133 166.553L293.255 165.784ZM274.571 175.107L282.749 165.776L283.627 166.545L275.449 175.877L274.571 175.107ZM272.244 165.768L264.065 175.099L264.943 175.869L273.122 166.537L272.244 165.768ZM253.56 175.091L261.738 165.76L262.616 166.529L254.438 175.861L253.56 175.091ZM251.233 165.752L243.054 175.083L243.932 175.853L252.111 166.521L251.233 165.752ZM232.549 175.075L240.727 165.743L241.605 166.512L233.427 175.844L232.549 175.075ZM230.222 165.735L222.043 175.067L222.921 175.836L231.1 166.504L230.222 165.735ZM211.538 175.059L219.716 165.727L220.594 166.496L212.416 175.828L211.538 175.059ZM209.211 165.719L201.032 175.051L201.91 175.82L210.089 166.488L209.211 165.719Z"
        fill={palette[3]}
      />
    </svg>
  )
})
